#ifndef MCVECTOR_H_
#define MCVECTOR_H_

#include <math.h>
#include <stdio.h>
#include <string.h>

class MCVector
{
public:
	//Coordinates of a vector in space.
	float x;
	float y;
	float z;
	float val;

	//constructors
	MCVector();
	MCVector(float x_, float y_, float z_);
	MCVector(float x_, float y_, float z_, float val_);//constructor with value
	MCVector(const MCVector& v);//use a vector to construct a new vector

	//Basic calculations of vectors.
	MCVector operator + (MCVector v);
	MCVector operator - (MCVector v);
	float operator * (MCVector v);
	MCVector operator + (float k);
	MCVector operator - (float k);
	MCVector operator / (float k);
	MCVector operator * (float k);
	MCVector CrossProduct(const MCVector& v);
	//copy a vector
	MCVector& operator = (const MCVector& v);
	float Magnitude();
	MCVector& Normalize();

protected:
private:
};

#endif